home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / font / StandardTextSource.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.6 KB  |  177 lines

  1. package sun.font;
  2.  
  3. import java.awt.Font;
  4. import java.awt.font.FontRenderContext;
  5. import java.awt.font.LineMetrics;
  6.  
  7. public class StandardTextSource extends TextSource {
  8.    char[] chars;
  9.    int start;
  10.    int len;
  11.    int cstart;
  12.    int clen;
  13.    int level;
  14.    int flags;
  15.    Font font;
  16.    FontRenderContext frc;
  17.    // $FF: renamed from: cm sun.font.CoreMetrics
  18.    CoreMetrics field_0;
  19.  
  20.    public StandardTextSource(char[] var1, int var2, int var3, int var4, int var5, int var6, int var7, Font var8, FontRenderContext var9, CoreMetrics var10) {
  21.       if (var1 == null) {
  22.          throw new IllegalArgumentException("bad chars: null");
  23.       } else if (var4 < 0) {
  24.          throw new IllegalArgumentException("bad cstart: " + var4);
  25.       } else if (var2 < var4) {
  26.          throw new IllegalArgumentException("bad start: " + var2 + " for cstart: " + var4);
  27.       } else if (var5 < 0) {
  28.          throw new IllegalArgumentException("bad clen: " + var5);
  29.       } else if (var4 + var5 > var1.length) {
  30.          throw new IllegalArgumentException("bad clen: " + var5 + " cstart: " + var4 + " for array len: " + var1.length);
  31.       } else if (var3 < 0) {
  32.          throw new IllegalArgumentException("bad len: " + var3);
  33.       } else if (var2 + var3 > var4 + var5) {
  34.          throw new IllegalArgumentException("bad len: " + var3 + " start: " + var2 + " for cstart: " + var4 + " clen: " + var5);
  35.       } else if (var8 == null) {
  36.          throw new IllegalArgumentException("bad font: null");
  37.       } else if (var9 == null) {
  38.          throw new IllegalArgumentException("bad frc: null");
  39.       } else {
  40.          this.chars = var1;
  41.          this.start = var2;
  42.          this.len = var3;
  43.          this.cstart = var4;
  44.          this.clen = var5;
  45.          this.level = var6;
  46.          this.flags = var7;
  47.          this.font = var8;
  48.          this.frc = var9;
  49.          if (var10 != null) {
  50.             this.field_0 = var10;
  51.          } else {
  52.             LineMetrics var11 = var8.getLineMetrics(var1, var4, var5, var9);
  53.             this.field_0 = ((FontLineMetrics)var11).cm;
  54.          }
  55.  
  56.       }
  57.    }
  58.  
  59.    public StandardTextSource(char[] var1, int var2, int var3, int var4, int var5, Font var6, FontRenderContext var7, CoreMetrics var8) {
  60.       this(var1, var2, var3, var2, var3, var4, var5, var6, var7, var8);
  61.    }
  62.  
  63.    public StandardTextSource(char[] var1, int var2, int var3, Font var4, FontRenderContext var5) {
  64.       this(var1, 0, var1.length, 0, var1.length, var2, var3, var4, var5, (CoreMetrics)null);
  65.    }
  66.  
  67.    public StandardTextSource(String var1, int var2, int var3, Font var4, FontRenderContext var5) {
  68.       this(var1.toCharArray(), 0, var1.length(), 0, var1.length(), var2, var3, var4, var5, (CoreMetrics)null);
  69.    }
  70.  
  71.    public char[] getChars() {
  72.       return this.chars;
  73.    }
  74.  
  75.    public int getStart() {
  76.       return this.start;
  77.    }
  78.  
  79.    public int getLength() {
  80.       return this.len;
  81.    }
  82.  
  83.    public int getContextStart() {
  84.       return this.cstart;
  85.    }
  86.  
  87.    public int getContextLength() {
  88.       return this.clen;
  89.    }
  90.  
  91.    public int getLayoutFlags() {
  92.       return this.flags;
  93.    }
  94.  
  95.    public int getBidiLevel() {
  96.       return this.level;
  97.    }
  98.  
  99.    public Font getFont() {
  100.       return this.font;
  101.    }
  102.  
  103.    public FontRenderContext getFRC() {
  104.       return this.frc;
  105.    }
  106.  
  107.    public CoreMetrics getCoreMetrics() {
  108.       return this.field_0;
  109.    }
  110.  
  111.    public TextSource getSubSource(int var1, int var2, int var3) {
  112.       if (var1 >= 0 && var2 >= 0 && var1 + var2 <= this.len) {
  113.          int var4 = this.level;
  114.          if (var3 != 2) {
  115.             boolean var5 = (this.flags & 8) == 0;
  116.             if ((var3 != 0 || !var5) && (var3 != 1 || var5)) {
  117.                throw new IllegalArgumentException("direction flag is invalid");
  118.             }
  119.  
  120.             var4 = var5 ? 0 : 1;
  121.          }
  122.  
  123.          return new StandardTextSource(this.chars, this.start + var1, var2, this.cstart, this.clen, var4, this.flags, this.font, this.frc, this.field_0);
  124.       } else {
  125.          throw new IllegalArgumentException("bad start (" + var1 + ") or length (" + var2 + ")");
  126.       }
  127.    }
  128.  
  129.    public String toString() {
  130.       return this.toString(true);
  131.    }
  132.  
  133.    public String toString(boolean var1) {
  134.       StringBuffer var2 = new StringBuffer(super.toString());
  135.       var2.append("[start:");
  136.       var2.append(this.start);
  137.       var2.append(", len:");
  138.       var2.append(this.len);
  139.       var2.append(", cstart:");
  140.       var2.append(this.cstart);
  141.       var2.append(", clen:");
  142.       var2.append(this.clen);
  143.       var2.append(", chars:\"");
  144.       int var3;
  145.       int var4;
  146.       if (var1) {
  147.          var3 = this.cstart;
  148.          var4 = this.cstart + this.clen;
  149.       } else {
  150.          var3 = this.start;
  151.          var4 = this.start + this.len;
  152.       }
  153.  
  154.       for(int var5 = var3; var5 < var4; ++var5) {
  155.          if (var5 > var3) {
  156.             var2.append(" ");
  157.          }
  158.  
  159.          var2.append(Integer.toHexString(this.chars[var5]));
  160.       }
  161.  
  162.       var2.append("\"");
  163.       var2.append(", level:");
  164.       var2.append(this.level);
  165.       var2.append(", flags:");
  166.       var2.append(this.flags);
  167.       var2.append(", font:");
  168.       var2.append(this.font);
  169.       var2.append(", frc:");
  170.       var2.append(this.frc);
  171.       var2.append(", cm:");
  172.       var2.append(this.field_0);
  173.       var2.append("]");
  174.       return var2.toString();
  175.    }
  176. }
  177.